#ifndef DUELASSETEDITOR_H
#define DUELASSETEDITOR_H

#include <QtWidgets/QMainWindow>
#include <QtCore/QFileSystemWatcher>
#include "DuelAssECommon.h"
#include "ui_DuelAssetEditor.h"



class DuelAssetEditor : public QMainWindow
{
	Q_OBJECT

public:
	DuelAssetEditor(QWidget *parent = 0, Qt::WindowFlags flags = 0);
	~DuelAssetEditor();

	// workbench for managing projects.
	DAssEWorkbench*	getWorkbench() { return mWorkbench; }


public:
	void		setContentView(DAssEContentView* view);
	void		setLocationTitle(const QString& loc);
public slots:
	// display the resources which are declared in this group.
	void		displayGroup(const QString& grpName);
	// if parent group is an valid group in current project, this method
	// will display the resources which are located in the archve and delcared in
	// the parentGroup, otherwise this method will display all resources in the archive.
	void		displayArchive(const QString& archName, const QString& parentGroup);


	// used to hide/show advanced filter.
	void		toggleAdvancedFilter();

private:

	Ui::DuelAsssetEditorClass ui;

	// ui related-------------
	bool		mbShowAdvancedFilter;
	//////////////////////////////////////////////////////////////////////////

	DAssEWorkbench*		mWorkbench;

	// used in representing archive list and group list.
	DAssEArchiveView*		mArchiveView;
	DAssEGroupView*			mGroupView;
	DAssEContentManager*	mContentManager;


};

#endif // DUELASSETEDITOR_H
